Computing systems have made significant contributions toward the advancement of modern society and are utilized in a number of applications to achieve advantageous results. Numerous devices, such as desktop personal computers (PCs), laptop PCs, tablet PCs, netbooks, smart phones, servers, and the like have facilitated increased productivity and reduced costs in communicating and analyzing data, increased consumption of electronic content, and the like in most areas of entertainment, education, business, and science. Developing aspects of computing systems include client-server computing platforms, virtual machine computing platforms, and cloud computing platforms, and graphics processing thereon.
For graphics intensive applications, such as multiplayer online computer games, the Windows operating system runs each instance of the application in full screen mode. The full screen mode is an exclusive mode such that another instance of the application running cannot output display frames because the first instance is running full screen. Therefore, even on a server with multiple graphics processing units, multiple instances of an application cannot be run at the same time because the first application will be running in full screen mode. Similarly, even on virtual machine implementations, the first application running on a guest operating system will run full screen and prevent other applications running on other guest devices from outputting display frames. However, with the proliferation of multi processor and/or multi core CPU and/or GPU server devices it would be beneficial to be able to run multiple graphics intensive applications or instances of the same application. Accordingly, there is a continued need for improved graphics processing techniques on client-server computing platforms, virtual machine computing platforms, and cloud computing platforms.